package com.entity;

import java.util.ArrayList;
import java.util.List;

public class ServiceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public ServiceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andServiceidIsNull() {
            addCriterion("serviceid is null");
            return (Criteria) this;
        }

        public Criteria andServiceidIsNotNull() {
            addCriterion("serviceid is not null");
            return (Criteria) this;
        }

        public Criteria andServiceidEqualTo(Integer value) {
            addCriterion("serviceid =", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotEqualTo(Integer value) {
            addCriterion("serviceid <>", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThan(Integer value) {
            addCriterion("serviceid >", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidGreaterThanOrEqualTo(Integer value) {
            addCriterion("serviceid >=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThan(Integer value) {
            addCriterion("serviceid <", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidLessThanOrEqualTo(Integer value) {
            addCriterion("serviceid <=", value, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidIn(List<Integer> values) {
            addCriterion("serviceid in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotIn(List<Integer> values) {
            addCriterion("serviceid not in", values, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidBetween(Integer value1, Integer value2) {
            addCriterion("serviceid between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServiceidNotBetween(Integer value1, Integer value2) {
            addCriterion("serviceid not between", value1, value2, "serviceid");
            return (Criteria) this;
        }

        public Criteria andServicenumberIsNull() {
            addCriterion("servicenumber is null");
            return (Criteria) this;
        }

        public Criteria andServicenumberIsNotNull() {
            addCriterion("servicenumber is not null");
            return (Criteria) this;
        }

        public Criteria andServicenumberEqualTo(String value) {
            addCriterion("servicenumber =", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberNotEqualTo(String value) {
            addCriterion("servicenumber <>", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberGreaterThan(String value) {
            addCriterion("servicenumber >", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberGreaterThanOrEqualTo(String value) {
            addCriterion("servicenumber >=", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberLessThan(String value) {
            addCriterion("servicenumber <", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberLessThanOrEqualTo(String value) {
            addCriterion("servicenumber <=", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberLike(String value) {
            addCriterion("servicenumber like", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberNotLike(String value) {
            addCriterion("servicenumber not like", value, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberIn(List<String> values) {
            addCriterion("servicenumber in", values, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberNotIn(List<String> values) {
            addCriterion("servicenumber not in", values, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberBetween(String value1, String value2) {
            addCriterion("servicenumber between", value1, value2, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicenumberNotBetween(String value1, String value2) {
            addCriterion("servicenumber not between", value1, value2, "servicenumber");
            return (Criteria) this;
        }

        public Criteria andServicetypeidIsNull() {
            addCriterion("servicetypeid is null");
            return (Criteria) this;
        }

        public Criteria andServicetypeidIsNotNull() {
            addCriterion("servicetypeid is not null");
            return (Criteria) this;
        }

        public Criteria andServicetypeidEqualTo(Integer value) {
            addCriterion("servicetypeid =", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidNotEqualTo(Integer value) {
            addCriterion("servicetypeid <>", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidGreaterThan(Integer value) {
            addCriterion("servicetypeid >", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("servicetypeid >=", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidLessThan(Integer value) {
            addCriterion("servicetypeid <", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidLessThanOrEqualTo(Integer value) {
            addCriterion("servicetypeid <=", value, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidIn(List<Integer> values) {
            addCriterion("servicetypeid in", values, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidNotIn(List<Integer> values) {
            addCriterion("servicetypeid not in", values, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidBetween(Integer value1, Integer value2) {
            addCriterion("servicetypeid between", value1, value2, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicetypeidNotBetween(Integer value1, Integer value2) {
            addCriterion("servicetypeid not between", value1, value2, "servicetypeid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidIsNull() {
            addCriterion("servicestatusid is null");
            return (Criteria) this;
        }

        public Criteria andServicestatusidIsNotNull() {
            addCriterion("servicestatusid is not null");
            return (Criteria) this;
        }

        public Criteria andServicestatusidEqualTo(Integer value) {
            addCriterion("servicestatusid =", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidNotEqualTo(Integer value) {
            addCriterion("servicestatusid <>", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidGreaterThan(Integer value) {
            addCriterion("servicestatusid >", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidGreaterThanOrEqualTo(Integer value) {
            addCriterion("servicestatusid >=", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidLessThan(Integer value) {
            addCriterion("servicestatusid <", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidLessThanOrEqualTo(Integer value) {
            addCriterion("servicestatusid <=", value, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidIn(List<Integer> values) {
            addCriterion("servicestatusid in", values, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidNotIn(List<Integer> values) {
            addCriterion("servicestatusid not in", values, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidBetween(Integer value1, Integer value2) {
            addCriterion("servicestatusid between", value1, value2, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andServicestatusidNotBetween(Integer value1, Integer value2) {
            addCriterion("servicestatusid not between", value1, value2, "servicestatusid");
            return (Criteria) this;
        }

        public Criteria andProposerIsNull() {
            addCriterion("proposer is null");
            return (Criteria) this;
        }

        public Criteria andProposerIsNotNull() {
            addCriterion("proposer is not null");
            return (Criteria) this;
        }

        public Criteria andProposerEqualTo(Integer value) {
            addCriterion("proposer =", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerNotEqualTo(Integer value) {
            addCriterion("proposer <>", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerGreaterThan(Integer value) {
            addCriterion("proposer >", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerGreaterThanOrEqualTo(Integer value) {
            addCriterion("proposer >=", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerLessThan(Integer value) {
            addCriterion("proposer <", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerLessThanOrEqualTo(Integer value) {
            addCriterion("proposer <=", value, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerIn(List<Integer> values) {
            addCriterion("proposer in", values, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerNotIn(List<Integer> values) {
            addCriterion("proposer not in", values, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerBetween(Integer value1, Integer value2) {
            addCriterion("proposer between", value1, value2, "proposer");
            return (Criteria) this;
        }

        public Criteria andProposerNotBetween(Integer value1, Integer value2) {
            addCriterion("proposer not between", value1, value2, "proposer");
            return (Criteria) this;
        }

        public Criteria andAgentIsNull() {
            addCriterion("agent is null");
            return (Criteria) this;
        }

        public Criteria andAgentIsNotNull() {
            addCriterion("agent is not null");
            return (Criteria) this;
        }

        public Criteria andAgentEqualTo(Integer value) {
            addCriterion("agent =", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentNotEqualTo(Integer value) {
            addCriterion("agent <>", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentGreaterThan(Integer value) {
            addCriterion("agent >", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentGreaterThanOrEqualTo(Integer value) {
            addCriterion("agent >=", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentLessThan(Integer value) {
            addCriterion("agent <", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentLessThanOrEqualTo(Integer value) {
            addCriterion("agent <=", value, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentIn(List<Integer> values) {
            addCriterion("agent in", values, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentNotIn(List<Integer> values) {
            addCriterion("agent not in", values, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentBetween(Integer value1, Integer value2) {
            addCriterion("agent between", value1, value2, "agent");
            return (Criteria) this;
        }

        public Criteria andAgentNotBetween(Integer value1, Integer value2) {
            addCriterion("agent not between", value1, value2, "agent");
            return (Criteria) this;
        }

        public Criteria andApplicationIsNull() {
            addCriterion("`application` is null");
            return (Criteria) this;
        }

        public Criteria andApplicationIsNotNull() {
            addCriterion("`application` is not null");
            return (Criteria) this;
        }

        public Criteria andApplicationEqualTo(String value) {
            addCriterion("`application` =", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationNotEqualTo(String value) {
            addCriterion("`application` <>", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationGreaterThan(String value) {
            addCriterion("`application` >", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationGreaterThanOrEqualTo(String value) {
            addCriterion("`application` >=", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationLessThan(String value) {
            addCriterion("`application` <", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationLessThanOrEqualTo(String value) {
            addCriterion("`application` <=", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationLike(String value) {
            addCriterion("`application` like", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationNotLike(String value) {
            addCriterion("`application` not like", value, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationIn(List<String> values) {
            addCriterion("`application` in", values, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationNotIn(List<String> values) {
            addCriterion("`application` not in", values, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationBetween(String value1, String value2) {
            addCriterion("`application` between", value1, value2, "application");
            return (Criteria) this;
        }

        public Criteria andApplicationNotBetween(String value1, String value2) {
            addCriterion("`application` not between", value1, value2, "application");
            return (Criteria) this;
        }

        public Criteria andIdcopyIsNull() {
            addCriterion("idcopy is null");
            return (Criteria) this;
        }

        public Criteria andIdcopyIsNotNull() {
            addCriterion("idcopy is not null");
            return (Criteria) this;
        }

        public Criteria andIdcopyEqualTo(String value) {
            addCriterion("idcopy =", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyNotEqualTo(String value) {
            addCriterion("idcopy <>", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyGreaterThan(String value) {
            addCriterion("idcopy >", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyGreaterThanOrEqualTo(String value) {
            addCriterion("idcopy >=", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyLessThan(String value) {
            addCriterion("idcopy <", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyLessThanOrEqualTo(String value) {
            addCriterion("idcopy <=", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyLike(String value) {
            addCriterion("idcopy like", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyNotLike(String value) {
            addCriterion("idcopy not like", value, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyIn(List<String> values) {
            addCriterion("idcopy in", values, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyNotIn(List<String> values) {
            addCriterion("idcopy not in", values, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyBetween(String value1, String value2) {
            addCriterion("idcopy between", value1, value2, "idcopy");
            return (Criteria) this;
        }

        public Criteria andIdcopyNotBetween(String value1, String value2) {
            addCriterion("idcopy not between", value1, value2, "idcopy");
            return (Criteria) this;
        }

        public Criteria andPhotoIsNull() {
            addCriterion("photo is null");
            return (Criteria) this;
        }

        public Criteria andPhotoIsNotNull() {
            addCriterion("photo is not null");
            return (Criteria) this;
        }

        public Criteria andPhotoEqualTo(String value) {
            addCriterion("photo =", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoNotEqualTo(String value) {
            addCriterion("photo <>", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoGreaterThan(String value) {
            addCriterion("photo >", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("photo >=", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoLessThan(String value) {
            addCriterion("photo <", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoLessThanOrEqualTo(String value) {
            addCriterion("photo <=", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoLike(String value) {
            addCriterion("photo like", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoNotLike(String value) {
            addCriterion("photo not like", value, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoIn(List<String> values) {
            addCriterion("photo in", values, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoNotIn(List<String> values) {
            addCriterion("photo not in", values, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoBetween(String value1, String value2) {
            addCriterion("photo between", value1, value2, "photo");
            return (Criteria) this;
        }

        public Criteria andPhotoNotBetween(String value1, String value2) {
            addCriterion("photo not between", value1, value2, "photo");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyIsNull() {
            addCriterion("purchasecopy is null");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyIsNotNull() {
            addCriterion("purchasecopy is not null");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyEqualTo(String value) {
            addCriterion("purchasecopy =", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyNotEqualTo(String value) {
            addCriterion("purchasecopy <>", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyGreaterThan(String value) {
            addCriterion("purchasecopy >", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyGreaterThanOrEqualTo(String value) {
            addCriterion("purchasecopy >=", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyLessThan(String value) {
            addCriterion("purchasecopy <", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyLessThanOrEqualTo(String value) {
            addCriterion("purchasecopy <=", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyLike(String value) {
            addCriterion("purchasecopy like", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyNotLike(String value) {
            addCriterion("purchasecopy not like", value, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyIn(List<String> values) {
            addCriterion("purchasecopy in", values, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyNotIn(List<String> values) {
            addCriterion("purchasecopy not in", values, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyBetween(String value1, String value2) {
            addCriterion("purchasecopy between", value1, value2, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andPurchasecopyNotBetween(String value1, String value2) {
            addCriterion("purchasecopy not between", value1, value2, "purchasecopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyIsNull() {
            addCriterion("contractcopy is null");
            return (Criteria) this;
        }

        public Criteria andContractcopyIsNotNull() {
            addCriterion("contractcopy is not null");
            return (Criteria) this;
        }

        public Criteria andContractcopyEqualTo(String value) {
            addCriterion("contractcopy =", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyNotEqualTo(String value) {
            addCriterion("contractcopy <>", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyGreaterThan(String value) {
            addCriterion("contractcopy >", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyGreaterThanOrEqualTo(String value) {
            addCriterion("contractcopy >=", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyLessThan(String value) {
            addCriterion("contractcopy <", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyLessThanOrEqualTo(String value) {
            addCriterion("contractcopy <=", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyLike(String value) {
            addCriterion("contractcopy like", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyNotLike(String value) {
            addCriterion("contractcopy not like", value, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyIn(List<String> values) {
            addCriterion("contractcopy in", values, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyNotIn(List<String> values) {
            addCriterion("contractcopy not in", values, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyBetween(String value1, String value2) {
            addCriterion("contractcopy between", value1, value2, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andContractcopyNotBetween(String value1, String value2) {
            addCriterion("contractcopy not between", value1, value2, "contractcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyIsNull() {
            addCriterion("taxcopy is null");
            return (Criteria) this;
        }

        public Criteria andTaxcopyIsNotNull() {
            addCriterion("taxcopy is not null");
            return (Criteria) this;
        }

        public Criteria andTaxcopyEqualTo(String value) {
            addCriterion("taxcopy =", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyNotEqualTo(String value) {
            addCriterion("taxcopy <>", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyGreaterThan(String value) {
            addCriterion("taxcopy >", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyGreaterThanOrEqualTo(String value) {
            addCriterion("taxcopy >=", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyLessThan(String value) {
            addCriterion("taxcopy <", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyLessThanOrEqualTo(String value) {
            addCriterion("taxcopy <=", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyLike(String value) {
            addCriterion("taxcopy like", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyNotLike(String value) {
            addCriterion("taxcopy not like", value, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyIn(List<String> values) {
            addCriterion("taxcopy in", values, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyNotIn(List<String> values) {
            addCriterion("taxcopy not in", values, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyBetween(String value1, String value2) {
            addCriterion("taxcopy between", value1, value2, "taxcopy");
            return (Criteria) this;
        }

        public Criteria andTaxcopyNotBetween(String value1, String value2) {
            addCriterion("taxcopy not between", value1, value2, "taxcopy");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}